package com.rlyy.common.utils;

import com.rlyy.common.enums.ExceptionEnum;
import com.rlyy.common.exception.Exceptions;
import org.springframework.lang.Nullable;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;

import java.util.Collection;

/**
 * 空参判断
 * @author yuanqinglong
 * @since 2020/7/21 13:44
 */
public class ArgsAssert extends BaseAssert{



    /**
     * 参数为空或null抛异常
     *
     * @param text          待判断对象
     * @param exceptionEnum 异常提示信息
     */
    public static void argsNotEmpty(@Nullable String text, ExceptionEnum exceptionEnum) {
        if (!StringUtils.hasText(text)) {
            throw Exceptions.argsException(exceptionEnum);
        }
    }

    /**
     * 集合不为空
     *
     * @param collection 集合
     * @param message    错误信息
     */
    public static void notEmpty(@Nullable Collection<?> collection, String message) {
        if (CollectionUtils.isEmpty(collection)) {
            throw Exceptions.argsException(message);
        }
    }

    /**
     * 集合不为空
     *
     * @param collection    集合
     * @param exceptionEnum 错误信息
     */
    public static void notEmpty(@Nullable Collection<?> collection, ExceptionEnum exceptionEnum) {
        if (CollectionUtils.isEmpty(collection)) {
            throw Exceptions.argsException(exceptionEnum);
        }
    }
}
